package com.zhenwei.zscm.model.vo.orderProductCheck;

import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class OrderProductCheckVO {
    @NotEmpty(message = "工单ID不能为空")
    private String orderId;
    @NotEmpty(message = "产品SN不能为空")
    private String productSn;
    @NotEmpty(message = "客户故障描述不能为空")
    private String question;
    @NotEmpty(message = "检测故障不能为空")
    private String questionCheck;
    /**
     * 质保状态编码
     */
    @NotEmpty(message = "质保状态不能为空")
    private String warrantyCode;
    @NotEmpty(message = "质保状态不能为空")
    private String warranty;
    /**
     * 维修站点编码
     */
    @NotEmpty(message = "维修站点不能为空")
    private String repairSiteCode;
    @NotEmpty(message = "维修站点不能为空")
    private String repairSite;
//    @NotEmpty(message = "费用详情不能为空")
//    @Valid
    private List<OrderProductCheckPriceVO> prices;
    /**
     * 工时费
     */
    @NotNull(message = "工时费不能为空")
    @Min(value = 0, message = "工时费不能小于0")
    private BigDecimal workHourPrice;
    /**
     * 报价状态
     */
    @NotEmpty(message = "报价状态不能为空")
    private String quoteState;
    /**
     * 报价日期
     */
    @NotNull(message = "报价日期不能为空")
    private Date quoteDate;
    /**
     * 报价是否确认
     */
    @NotNull(message = "报价是否确认不能为空")
    private Boolean isQuoteConfirm;
    /**
     * 报价确认日期
     */
    @NotNull(message = "报价确认日期不能为空")
    private Date quoteConfirmDate;
    private List<String> fileIdList;
}
